Load IT: как мы сделали инструмент для управления нагрузочным тестированием Хабр

Я ожидала, что будут названы конкретные имена, но самым частым ответом было то, что тестировщикам надо обращаться к группе людей. Один из них сказал, что обращение к группе дает возможность ответить тому, кого, возможно, ты и не спросил бы впрямую. Я думаю, что порядок, в котором были перечислены эти группы, отражает порядок, в котором люди будут обращаться к ним за помощью. Мы поговорили об использовании времени, прошедшего с последнего отказа на нашем сервере непрерывной интеграции, чтобы отслеживать стабильность наших билдов. Раньше мы не обращали на эту метрику внимания, но если мы хотим отмечать наши успехи, возможно, это имеет смысл.

окружение в тестировании

Кроме того, тестируемая система обычно разбивается на отдельные модули, каждый из которых тестируется вначале отдельно от других, затем в комплексе. В планах у нас доработка запуска через API, анализ достижения целей нагрузочного тестирования по созданным инженером критериям и определение с помощью Load IT уровня максимальной производительности. Мы начали говорить о том, как мы работаем над стабильностью своих билдов в наших командах и коллективах.

Что такое тестовое окружение в тестировании

Многие посчитали, что это поможет пролить свет на известные проблемы и дать разработчикам возможность таргетировать изменения своего кода. Но прозвучала и точка зрения, что это бессмысленная трата времени – писать сьют, который падает всегда. Изначально мы сошлись на том, что мы не концентрируемся особо на стабильности нашей базы мастер-кода, в основном обращая внимание на то, что интегрируется в нее. Тестировщики очень аккуратны и дают добро на заливку своих веток, только если ветка прошла пир-ревью и надежно работает. Если в мастер в итоге попадают баги, тестировщик берет на себя ответственность за расследование падения автоматизации, разговаривает с разработчиками, и совместно с ними создает фикс.

  • Проблемы, которые не могут быть решены разработкой, обычно решаются при помощи опыта людей, не входящих в релизную команду.
  • Мы рекомендуем вам ознакомиться со всеми возможностями docker-machine, это довольно мощный инструмент для управления средами.
  • На тот момент мы обращали внимание на стабильность билдов, перенося уведомления об отказе билдов в канал чата команды.
  • Мы наложили реалистичную форму на конфигурацию, и наши тесты волшебным образом стали зелеными.
  • Тестировщики как коллектив, распределенный между разными проектами и программами, не всегда знают ответ на вопрос – но могут знать человека, который знает.

Но с появлением новых сервисов сложность системы росла, для поднятия базового окружения одного монолита уже было недостаточно. В зависимости от конкретной команды разработки, может быть к примеру, ещё тестовое окружение (ещё называют стейджинг). Когда администратор создал проект и добавил в него пользователей, можно начинать добавлять тестовое окружение, а именно серверы-генераторы и серверы объектов тестирования. Я выбрала презентацию Иоаны как основу для недавней сессии по обмену знаниями о тестировании в своей организации.

Подбираем ключи к Kubernetes

Для нас этот период составляет 7-14 дней, затем сборка обновляется и цикл тестирования повторяется. Резервное копирование и восстановление больших объемов данных иногда занимает день, особенно через облако и особенно при медленном канале. Такие тесты также выявляют ошибки, связанные с длительным выполнением, например, утечки памяти, заполненные жесткие диски и т.д. Основной недостаток 3-го метода – после изменения исходных текстов тестируемого модуля нельзя дать гарантии того, что класс будет вести себя таким же образом, как и исходный. В частности, это связано с тем, что изменение защиты данных класса влияет на наследование данных и методов другими классами. Для выполнения проверок до начала тестов или после можно использовать конвейеры задач, которые в Load IT представляют собой упрощенный аналог джобов и задач Jenkins или другой CI/CD-системы.

окружение в тестировании

В этой статье подробно рассказывается о том, как создать среду на основе контейнера Docker для тестирования нашего клиент-серверного приложения. В целом, однако, эта статья дает хороший обзор того, как использовать Docker и его ближайшую экосистему. Другие ключи, о которых говорили тестировщики, не были непосредственно связаны с тестовыми окружениями.

Load IT: как мы сделали инструмент для управления нагрузочным тестированием

Доступны две системные роли (администратор и супервизор) и четыре проектные (руководитель проекта, тест-менеджер, инженер нагрузочного тестирования и системный инженер по нагрузочному тестированию). От присвоенной роли зависит функционал, который будет доступен пользователю. Мы осознали, что представления не имеем, какие баги – часть наших бэклогов, а какие – централизованного регистра известных проблем с релизными тестовыми окружениями. Всем нам знакомы нестабильные тесты, и мысль собрать комплект автотестов, проверяющих известные баги, приходила нам в голову.

В случае появления новых команд и микросервисов у нас уже существует готовое решение для них, с которым они могут работать. Есть документация, в которой объясняется, как это сделать, есть канал, в который можно задавать вопросы, есть примеры и есть команда, отвечающая за все это и следящая, чтобы все продолжало работать. Благодаря этому постепенно тестовое окружение все больше и больше становится похожим на то, что у нас в продакшене. Различия пока еще довольно сильные, но мы пытаемся свести их к минимуму. По графикам в интерфейсе Grafana для уже развернутых старых окружений проверял потребляемые ресурсы, уменьшал их до состояния, чтобы приложения не расходовали их бессмысленно.

На пути к идеалу. Как мы приводим тестовое окружение в соответствие с продакшеном

Тестировщики сообщили, что “по большей части наш билд стабилен по сравнению с другими местами, где я работал”, и “в других организациях решение проблем занимает дни, а у нас – часы”. Предпочтительны чистые среды с одной операционной системой и одним продуктом. Но мир программного обеспечения состоит не только из чистой операционной системы. Кроме тестируемого продукта в мире существуют и другие программы, и даже другие версии самого продукта.

окружение в тестировании

Однако, оно имеет некоторые особенности, связанные с применением наследования и инкапсуляции. Студенты приносят заполненные отчеты об ошибках для тех модулей, которые они тестировали. Преподаватель оценивает их тест-планы и смотрит, удалось ли студентам окружение в тестировании найти все допущенные в методах ошибки. Доклад Иоаны интересен сам по себе, но я рекомендую вам обсудить его основные положения с вашей командой. Мы нашли много интересных тем для обсуждения и применения идей Иоаны в нашей организации.

3. Тестовое окружение

Поскольку тестовое окружение само является программой (причем, часто реализованной не на том языке программирования, на котором написана система), оно тоже должно быть протестировано. Целью тестирования тестового окружения является доказательство того, что тестовое окружение никаким образом не искажает выполнение тестируемого модуля и адекватно моделирует поведение системы. Тестовое окружение также может использоваться для отчуждения отдельных модулей системы от всей системы.

Тестирование мобильных приложений

Тестировщики этого продукта были обеими руками “за” подход Иоаны, хотя понадобится небольшое расследование, возможно ли это с инструментом, который используется именно у нас. Другой тип испытаний, которые проводятся в грязной среде, – это так называемые испытания на дальность или стабильность. Их суть заключается в запуске основных функций BAT, которые выполняются в автоматическом цикле в течение длительного периода времени.

Keine Kommentare vorhanden

Schreibe einen Kommentar